package com.hmall.common.config;

import com.hmall.common.interceptors.UserInfoInterceptor;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

/**
 * @Classname MvcConfig
 * @Date 2024/12/2 15:54
 * @Created by 鲍宪立
 */
@Configuration
@ConditionalOnClass(DispatcherServlet.class)
/*
* @ConditionalOnClass是Spring Boot中的一个条件注解，
* 它可以用来指定在类路径中存在特定的类时才加载某个配置类或Bean。
* 这个注解可以用于自动配置类或普通的Spring组件中，以实现根据类路径中的情况来决定是否加载某个配置或Bean。
* 项目中除了网关，其余的模块都是基于Spring MVC，为了使得配置只对微服务的项目生效，添加这个注解。
* */
public class MvcConfig implements WebMvcConfigurer {

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new UserInfoInterceptor());
    }
}
